package com.it.collect_set;

import java.util.HashSet;
import java.util.Set;

/**
 * 目标：自定义的类型的对象，比如两个内容一样的学生对象，如果让HashSet集合能够去重复
 * HashSet集合默认不能对内容一样的两个不同对象去重复的
 * 结论：如果希望Set集合认为2个内容一样的对象是重复的,必须重写对象的hashCode()和equals()方法
 */
public class Test3 {
    public static void main(String[] args) {
        Set<Student> students = new HashSet<>();
        Student s1 = new Student("至尊宝",28,169.9);
        Student s2 = new Student("蜘蛛精",23,160.9);
        Student s3 = new Student("蜘蛛精",23,160.9);
        System.out.println(s2.hashCode());
        System.out.println(s3.hashCode());
        Student s4 = new Student("牛魔王",203,160.9);
        students.add(s1);
        students.add(s2);
        students.add(s3);
        students.add(s4);
        System.out.println(students);
    }
}
